<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>继承使得原型链出现问题</title>
</head>
<body>
<script>
    /*
    * 之前在原型的问题哪里说到为了避免引用属性值的共享问题可以将属性定义在对象身上
    * 但是如果考虑到继承的话因为每一个对象都可能被继承所以定义在实例身上的属性有时候也会变成原型上的属性
    *
    * */
    function Person(name) {
        this.nums = [1,2,3]
        this.name =name
    }

    function Student() {

    }

    /*
    * 原型链的第二个问题是我们无法在创建子类对象的时候为父类构造函数传参数
    * 如果在这里传递的话那么子类所有的实例对象的参数都是一样的
    * */
    Student.prototype = new Person()


    let stu1 = new Student()
    let stu2 = new Student()
    stu1.nums.push(0)

    console.log(stu1.nums)
    console.log(stu2.nums)




</script>
</body>
</html>